package com.youlai.boot.factory.model.vo;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

import com.youlai.boot.factory.model.entity.CuttingBedDetails;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 裁床单视图对象
 *
 * @author youlaitech
 * @since 2025-08-24 14:08
 */
@Getter
@Setter
@Schema( description = "裁床单视图对象")
public class GarmentCuttingBedVO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "主键id")
    private String id;
    @Schema(description = "床号")
    private String bedNumber;
    @Schema(description = "客户id")
    private String customerId;
    @Schema(description = "款id")
    private String styleId;
    @Schema(description = "裁床日期")
    private LocalDate cuttingDate;
    @Schema(description = "员工id")
    private String employeeId;
    @Schema(description = "状态(已下单', '已裁好', '已打款)")
    private String status;
    @Schema(description = "类型（自裁 外裁）")
    private String type;
    @Schema(description = "客户名称")
    private String customerName;
    @Schema(description = "颜色（可多选，用逗号分隔，如白色,藏青）")
    private String color;
    @Schema(description = "款名称")
    private String styleName;
    @Schema(description = "款号")
    private String styleCode;
    @Schema(description = "款图片")
    private String styleImageUrl;
    @Schema(description = "码数（可多选，用逗号分隔，如S,M,L）")
    private String size;
    @Schema(description = "颜色")
    private String colorNames;
    @Schema(description = "码数")
    private String sizeNames;
    @Schema(description = "创建时间")
    private LocalDateTime createTime;
    @Schema(description = "创建人ID")
    private Long createBy;
    @Schema(description = "修改人ID")
    private Long updateBy;
    @Schema(description = "更新时间")
    private LocalDateTime updateTime;
    @Schema(description = "总价金额")
    private BigDecimal totalPrice;
    @Schema(description = "单价金额")
    private BigDecimal unitPrice;
    @Schema(description = "计费类型")
    private String chargeType;
    @Schema(description = "备注")
    private String remark;
    @Schema(description = "交货日期")
    private LocalDate deliveryDate;

    // 添加明细列表
    private List<CuttingBedDetails> details;
}
